Lively Linear Lisp — ' Look Ma , No Garbage ! ' 1

نویسنده

  • Henry G. Baker
چکیده

Linear logic has been proposed as one solution to the problem of garbage collection and providing efficient "updatein-place" capabilities within a more functional language. Linear logic conserves accessibility, and hence provides a mechanical metaphor which is more appropriate for a distributed-memory parallel processor in which copying is explicit. However, linear logic's lack of sharing may introduce significant inefficiencies of its own. We show an efficient implementation of linear logic called Linear Lisp that runs within a constant factor of non-linear logic. This Linear Lisp allows RPLACX operations, and manages storage as safely as a non-linear Lisp, but does not need a garbage collector. Since it offers assignments but no sharing, it occupies a twilight zone between functional languages and imperative languages. Our Linear Lisp Machine offers many of the same capabilities as combinator/graph reduction machines, but without their copying and garbage collection problems.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Generational, Compacting Garbage Collector for C++

One of the most striking differences between any Lisp dialect and C++ is not the obvious syntax differences, but rather their opposing views on management of objects with indefinite extent. While Lisp systems automatically recover storage used by objects that are no longer needed by the program, C++ requires that the user explicitly delete the object in order to reclaim storage. Automatically m...

متن کامل

Garbage Collection for Strongly - Typed Languagesusing Run - time Type

Garbage collectors perform two functions: live-object detection and dead-object reclamation. In this paper, we present a new technique for live-object detection based on run-time type reconstruction for a strongly-typed, polymorphic language. This scheme uses compile-time type information together with the run-time tree of activation frames to determine the exact type of every object participat...

متن کامل

Measuring the Cost of Storage Management

We study the cost of storage management for garbage-collected programs compiled with the Standard ML of New Jersey compiler. We show that the cost of storage management is not the same as the time spent garbage collecting. For many of the programs, the time spent garbage collecting is less than the time spent doing other storage-management tasks. 1Authors’ addresses: David Tarditi, Computer Sci...

متن کامل

The Design and Implementation of a Modern Lisp Dialect

Lisp, invented in 1958 by John McCarthy, revolutionized how programs could be written and expressed. Instead of giving explicit instructions to a computer, Lisp expressed programs as logical operations and functions. Lisp was the first language to incorporate modern language features including: garbage collection, conditionals, first class functions, and recursion. Also, in 1994 Common Lisp bec...

متن کامل

Runtime Tags Aren't Necessary

Many modern programming environments use tag bits at runtime to distinguish objects of di erent types. This is particularly common in systems with garbage collection, since the garbage collector must be able to distinguish pointers from non-pointers, and to learn the length of records

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1992